﻿using GYCTOAManagementSystemNewApi.Model.Tool;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.Filters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;

namespace GYCTOAManagementSystemNewApi.Public
{  /// <summary>
   /// 判断登录是否到期、以及是否有权限
   /// </summary>
    public class BaseActionFilterAttribute : Microsoft.AspNetCore.Mvc.Filters.ActionFilterAttribute
    {
     //   public string Message { get; set; }
     //
     //   public override void OnActionExecuting(ActionExecutingContext filterContext)
     //   {
     //       base.OnActionExecuting(filterContext);
     //       filterContext.HttpContext.Response.WriteAsync("<br />" + "执行OnActionExecuting：" + Message + "<br />");
     //   }
     //
     //   public override void OnActionExecuted(ActionExecutedContext filterContext)
     //   {
     //       base.OnActionExecuted(filterContext);
     //       filterContext.HttpContext.Response.WriteAsync("<br />" + "执行OnActionExecuted：" + Message + "<br />");
     //   }
     //
     //   public override void OnResultExecuting(ResultExecutingContext filterContext)
     //   {
     //       base.OnResultExecuting(filterContext);
     //       filterContext.HttpContext.Response.WriteAsync("<br />" + "执行OnResultExecuting：" + Message + "<br />");
     //   }
     //
     //   public override void OnResultExecuted(ResultExecutedContext filterContext)
     //   {
     //       base.OnResultExecuted(filterContext);
     //       filterContext.HttpContext.Response.WriteAsync("<br />" + "执行OnResultExecuted：" + Message + "<br />");
     //   }

        ///// <summary>
        ///// 方法执行前
        ///// </summary>
        ///// <param name="actionContext"></param>
        //public  override void OnActionExecuting(HttpActionContext actionContext)
        //{
 
        //    var author = HttpContext.Request.Headers["Authorization"].ToString().Split(' ')[1];
        //    var userid = Convert.ToInt32(TokenManage.GetTokenValues(author)[0].Value);
        //    var right = Convert.ToString(TokenManage.GetTokenValues(author)[2].Value);

        //    #region 验证是否有方法的操作权限
        //    bool result = false;
        //    if (!string.IsNullOrEmpty(OperateRight))
        //    {
        //        if (right.Contains("Admin"))
        //            return;
        //        var rights = right.Split(',');
        //        foreach (var r in rights)
        //        {
        //            if (!string.IsNullOrWhiteSpace(r) && OperateRight.Contains(r))
        //                result = true;
        //        }
        //        if (!result)
        //        {
        //            if (filterContext.HttpContext.Request.IsAjaxRequest())   //判断是否ajax请求
        //            {
        //                filterContext.Result = new JsonResult
        //                {
        //                    Data = new Message
        //                    {
        //                        IsSuccess = false,
        //                        msgText = "您不具有当前操作的权限，请联系系统管理员",
        //                    }
        //                };
        //                return;
        //            }
        //            else
        //            {
        //                filterContext.Result = new ContentResult
        //                {
        //                    Content = Public.WebPopup("您不具有当前操作的权限，请联系系统管理员")
        //                };// 直接返回，弹出框   //filterContext.Result = new ContentResult { Content = "您不具有当前操作的权限，请联系系统管理员" };// 直接返回 return Content("您不具有当前操作的权限，请联系系统管理员")
        //                return;
        //            }
        //        }
        //    }
        //    #endregion

        //}
    }
}